package com.bonshotels.DomainLayer.ServeiAutoritzacioCredit;

import java.util.Date;

import com.bonshotels.Excepcions.ServeiNoDisponible;

/**
 * Interficie IObjectiuServeiAutoritzacioCredit.
 * 
 * Aquesta interficie es la que implementara el adaptador del servei dautoritzacio
 * de credit. El fet dutilitzar una interficie en lloc dinstanciar directament
 * ladaptador fa que el nostre disseny sigui mes canviable.
 * @author Jordi Sabater
 */
public interface IObjectiuServeiAutoritzacioCredit {

	/**
	 * Realitza un pagament amb tarja. Pot provocar una excepcio si el servei
	 * no esta disponible en el moment de fer la transaccio o qualsevol altre
	 * tipus derror.
	 *
	 * @param numTarj Numero de la tarjeta de credit.
	 * @param dCad Data de caducitat de la tarjeta de credit.
	 * @param preuTotal Preu que cal cobrar de la tarjeta de credit.
	 * @throws ServeiNoDisponible El servei no esta disponible en el moment
	 *  de fer la transaccio o retorna algun tipus derror.
	 */
	public void pagament(String numTarj, Date dCad, float preuTotal) throws ServeiNoDisponible;
	
}
